package rss 
{
	import common.IDisposable;
	import flash.events.IEventDispatcher;
	
	/**
	 * TODO: document
	 * 
	 * @author Luke Van In
	 */
	public interface IRssFeedModel extends IEventDispatcher, IDisposable
	{
		
		/**
		 * Returns the title of the feed
		 * 
		 * @return
		 */
		function get title():String;
		
		
		
		/**
		 * Returns the description of the feed
		 * 
		 * @return
		 */
		function get description():String;
		
		
		
		/**
		 * Returns the language of the feed
		 * 
		 * @return
		 */
		function get language():String;
		
		
		
		/**
		 * Returns the date which the feed was published
		 * 
		 * @return
		 */
		function get publishedDate():Date;
		
		
		
		/**
		 * Returns the date when the feed was compiled
		 * 
		 * @return
		 */
		function get lastBuildDate():Date;
		
		
		/**
		 * Returns the name of the source of the feed
		 * 
		 * @return
		 */
		function get generator():String;
		
		
		
		/**
		 * Returns the life-time of the feed (in seconds)
		 * 
		 * @return
		 */
		function get timeToLive():int;
		

		
		/**
		 * 
		 */
		function get entries():Vector.<IRssEntryModel>;
		
	}
	
}